﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DIT.Domain
{
    public abstract class Account : DomainBase
    {
        public readonly TaxPayerTypeENUM TaxPayerType;
        public readonly AccountTypeENUM AccountType;
        public string PAN;
        public AccountInfo AccountInfo;
        protected Account(AccountTypeENUM _AccountType, TaxPayerTypeENUM _clientType, string _PAN, AccountInfo _PersonalInfo)
        {
            if (_PersonalInfo == null)
                throw new ArgumentNullException("_PersonalInfo");
            TaxPayerType = _clientType;
            AccountType = _AccountType;
            AccountInfo = _PersonalInfo;
            PAN = _PAN;
        }

        public List<FilingStatus> FilingStatusList;
        public ILookup<string, FilingStatus> FilingStatusMap { get { return FilingStatusList.ToLookup(fs => fs.AssessmentYear) ; } }
    }
}
